void bubbleSort(int a[],int n) {
    int i,j,t;
    for(i=0; i<n-1; i++)   {
        for(j=0; j<=n-i-2; j++)
            if(a[j]>a[j+1]) {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }

    }
}


void insertSort(int *a,int n)
{
    int i,j,t,p;
    for(i=0; i<n; i++)
    {
        for(j=i-1; j>=0; j--)
            if(a[j]<=a[i])
                break;
        p=j+1;

        t=a[i];
        for(j=i-1; j>=p; j--)
            a[j+1]=a[j];
        a[p]=t;

    }
}

int inc(const void*a,const void*b) {
    return *(int*)(a)-*(int*)b;
}
int main()
{
    int N=10000000,i;
    int *a=(int*)malloc(sizeof(int)*N);
    for(i=0;i<N;i++)a[i]=rand();
    long long start=clock();
   // bubbleSort(a,N);
   qsort(a,N,4,inc);
    long long end=clock();
    printf("%.3f\n",(end-start)/1000.0);
    return 0;
}
